# Matt Pocock Skills：真实工程技能库

> 18 万 Star 的开源 Skills 仓库，把软件工程方法论装进 AI

你好，我是程序员鱼皮。

如今的 GitHub 真是太魔幻了，有个 AI 相关的项目，几乎全是 Markdown 文本文件，但是不到半年就拿到了 **18 万 Star**。

这个仓库叫 [skills](https://github.com/mattpocock/skills)，作者 Matt Pocock 是前端 TypeScript 领域很有名的教育者，在 YouTube 上有大几十万粉丝。他把自己日常用 AI 编程的工作方法总结成了一套技能，也就是一组可以直接装进 Claude Code、Codex 等 AI 编程工具里的指令集，然后开源了出来。

![](https://pic.yupi.icu/1/image-20260721175958152.png)

那么这套 Skills 到底有什么？为什么能受到这么大的欢迎？

这篇文章我就带你揭秘这个仓库，看看怎么安装使用、里面有哪些值得学习的 AI 编程技巧。



## 一、这个仓库有什么特别

这个仓库的 Slogan 是「Skills for Real Engineers」，意思是这套东西不是给氛围编程用的，而是给真正要做工程的人用的。

简单来说，它提供了一套 AI 编程的 **标准操作流程**。

用过 Claude Code 的同学应该知道，你可以通过写 `CLAUDE.md` 文件来告诉 AI 该怎么做事。但大多数人写的要么是一些零碎的注意事项，要么就是从网上抄来的通用提示词，效果一般。

Matt Pocock 做的事情是把真实的软件工程方法论，比如测试驱动开发、代码评审、领域建模这些，浓缩成一个个 Skill 文件。装到自己的电脑上后，在 AI 编程工具里输入类似 `/grill-me`、`/tdd` 这样的斜杠命令，AI 就会按照对应的工程方法来工作，而不是像平时那样想到哪写到哪。

![概念对比 CLAUDE.md 和 Skills](https://pic.yupi.icu/1/01_Skills%E6%A6%82%E5%BF%B5%E5%AF%B9%E6%AF%94%EF%BC%9A%E6%99%AE%E9%80%9ACLAUDE.md_vs_Skills%E7%B3%BB%E7%BB%9F_compressed_v1.png)

截止到我写这篇文章时，整个仓库里有大几十个 Skill 文件，其中正式推荐使用的有 22 个，剩下的是一些还在开发中的、作者个人专用的、以及已经废弃的。

![](https://pic.yupi.icu/1/image-20260721213003965.png)

这 22 个正式 Skill 分成两大类。一类是工程类，包括测试驱动开发、代码评审、Bug 诊断这些跟写代码直接相关的；另一类是生产力类，比如头脑风暴、上下文交接，甚至还有一个让 AI 教你学东西的。

如果你还不了解 Skills 到底是什么、内部是怎么运作的，建议先阅读本目录中的《Agent Skills：通用 AI 技能库》。



## 二、30 秒安装使用

这个仓库的安装很简单，打开终端，输入一行命令就能搞定：

```bash
npx skills@latest add mattpocock/skills
```

![](https://pic.yupi.icu/1/image-20260721181513539.png)

运行之后它会让你选想要哪些 Skill，以及装到哪个 AI 编程工具里。选完之后，对应的 Skill 文件会被复制到你的项目目录或者 AI 工具的本地配置目录（比如 `~/.claude/skills/`）。

![](https://pic.yupi.icu/1/image-20260721181722123.png)

建议选上 `/setup-matt-pocock-skills` 这个初始化 Skill，装完后在 AI 编程工具里运行一次，比如我在 Claude Code 中运行：

![](https://pic.yupi.icu/1/image-20260721181838820.png)

AI 会问你几个问题来适配你的项目，比如用什么工具来管理 Issue、项目文档保存在哪个目录。

我这里为了简单，选择了用本地 Markdown 文件来管理 Issue，文档保存在默认的 `docs/` 目录下，规则保存到 `CLAUDE.md` 文件中。

![](https://pic.yupi.icu/1/image-20260721182034789.png)

如果你不想手动管理这些安装到项目里的 Skill 文件，也可以用 Claude Code 的插件方式来安装，这样它会自动保持最新版本，不过就不能自己修改了。

![](https://pic.yupi.icu/1/image-20260721190007313.png)

装好之后，接下来我带你看看这个仓库里最实用的几个 Skill。



## 三、grill-me 需求拷问

这是整个仓库最火的一个 Skill，也是 Matt Pocock 本人反复推荐的，作用是让 AI 反过来对你进行「灵魂拷问」，帮你在让 AI 写代码之前把需求和设计想清楚。

**但是，它的核心内容加起来竟然只有 3 句话！**

翻译过来大概是这样的：

> 针对我的计划或设计，一个问题一个问题地追问我，直到我们达成共识。沿着决策树的每个分支走下去，逐个解决分支之间的依赖关系。每个问题要给出你的推荐答案。
>
> 每次只问一个问题，等我回答完再问下一个。一次抛出一堆问题会让人不知所措。
>
> 能通过查看环境（文件系统、工具等）找到的事实，直接去查，不用问我。但决策是我来做的，每个决策都要等我拍板。

![](https://pic.yupi.icu/1/image-20260721182742452.png)

就是这么简单粗暴，但实际用起来后，你会发现效果确实很好。

有用户分享说，他第一次用 `/grill-me` 的时候，AI 一口气问了 38 个问题。等问完之后，他发现很多自己之前根本没想到的设计细节都被 AI 逼着想清楚了。

![](https://pic.yupi.icu/1/image-20260721183248245.png)

这个 Skill 我专门写了一篇完整的实战体验和原理拆解，可以阅读本教程经验技巧板块中的《用 grill-me 让 AI 拷问你的需求》。

如果你在做的是一个有代码仓库的项目，还可以用升级版的 `/grill-with-docs` 技能。它在拷问你的同时，还会把讨论过程中确定下来的术语和决策记录到 `CONTEXT.md` 和架构决策记录文件里，给你的项目建一份专属术语表。

这个术语表有什么用呢？

大家应该都有过这种经历，每次跟 AI 描述项目里某个操作的时候，都要写一大段话来解释，因为 AI 并不了解你们项目内部的叫法。

Matt Pocock 的做法是在 `CONTEXT.md` 里提前定义好这些术语。比如他自己有个课程管理项目，针对「把课程章节中的某节课创建到文件系统」这个操作，他定义了一个术语叫「物化级联」，之后跟 AI 沟通的时候只需要说这个词，AI 就知道他在说什么了。

因为 AI 每次对话都会读 `CONTEXT.md`，所以这些术语积累得越多，AI 对项目的理解就越精准，沟通也越来越高效。

![CONTEXT.md 共享语言让沟通越来越高效](https://pic.yupi.icu/1/03_CONTEXT.md%E5%85%B1%E4%BA%AB%E8%AF%AD%E8%A8%80%E8%AE%A9%E6%B2%9F%E9%80%9A%E8%B6%8A%E6%9D%A5%E8%B6%8A%E9%AB%98%E6%95%88_compressed_v3.png)



## 四、tdd 测试驱动开发

大家有没有遇到过这种情况？当你要求 AI 用测试驱动的方式来开发时，它会一口气先把所有测试写完，然后再写所有代码。

这种方式看起来效率很高，但实际上有个很坑的问题。AI 在写测试的时候，代码还不存在，所以它只能靠想象来设计测试的结构。等真正开始写代码的时候，实际的 API 可能跟它想象的完全不一样，结果就是一堆测试要推倒重写。

`/tdd` 这个 Skill 就是来解决这个问题的。它强制 AI 用「垂直切片」的方式来工作，也就是先写一个测试让它失败，然后只写刚好能让这个测试通过的代码，通过之后再写下一个测试。这就是经典的 Red-Green-Refactor 循环，一次只走一小步，每一步都是实打实验证过的。

![TDD 垂直切片和批量方式对比](https://pic.yupi.icu/1/04_TDD%E5%9E%82%E7%9B%B4%E5%88%87%E7%89%87vs%E6%89%B9%E9%87%8F%E6%96%B9%E5%BC%8F%E5%AF%B9%E6%AF%94_compressed_v1.png)

除了循环本身，这个 Skill 里还有几条值得注意的规则。

比如它要求 **只在预先商定的接缝处测试**。所谓接缝（Seam）就是代码的公开接口，比如一个函数的入参和返回值。在写任何测试之前，AI 会先跟你确认在哪些接缝处写测试，而不是到处乱写，这样测试的覆盖重点才能落在真正重要的地方。

![](https://pic.yupi.icu/1/image-20260721190924720.png)

另外这个 Skill 还列出了几种 AI 写测试时容易犯的反模式，相当于给 AI 定了规矩，一旦发现自己写出了这类测试就必须改掉。

最典型的一种叫「同义反复测试」，就是把被测代码的逻辑在测试里重新写一遍，比如 `expect(add(a, b)).toBe(a + b)`，这样的测试永远都能通过，毫无意义。正确的做法是用独立的数据源来做期望值，比如一个确定的字面量、一个手工算好的例子。

对于团队项目来说，让 AI 按照 TDD 的方式来写代码，代码质量会有明显的提升。



## 五、diagnosing-bugs Bug 诊断

遇到 Bug 的时候，很多人的第一反应都是先看代码，猜一个可能的原因然后试着改。AI 也是这样的，大家应该有过这种经历，让 AI 修 Bug，结果它改了半天越改越乱。

Matt Pocock 认为问题的根源在于 AI 跳过了最关键的一步，就是先建立一个 **能稳定重现 Bug 的反馈循环**。

什么叫反馈循环呢？简单来说就是一条能稳定重现 Bug 的命令。可以是一个会失败的测试用例、一个 curl 请求、甚至一个 Playwright 浏览器自动化脚本，只要能一键运行并且明确告诉你 Bug 到底有没有触发就好。

`/diagnosing-bugs` 这个 Skill 把 Debug 过程拆成了 6 个阶段，其中「建立反馈循环」是第一步，也是整个流程的核心。

![](https://pic.yupi.icu/1/image-20260721191701894-20260721191719297-20260721191756770.png)

**在这步完成之前，AI 不允许跳到「猜原因」的阶段。** 如果 AI 在还没有一条能重现 Bug 的命令的时候就开始分析代码，Skill 会直接打断它。

等有了一条稳定重现的命令之后，接下来的步骤就比较常规了：最小化重现场景、提出假设并逐一验证、修复并写回归测试。

![Bug 诊断 6 阶段流程图](https://pic.yupi.icu/1/05_Bug%E8%AF%8A%E6%96%AD6%E9%98%B6%E6%AE%B5%E6%B5%81%E7%A8%8B%E5%9B%BE%EF%BC%88%E5%8F%8D%E9%A6%88%E5%BE%AA%E7%8E%AF%E4%BC%98%E5%85%88%EF%BC%89_compressed_v2.png)

这个思路跟 Cursor 内置的 Debug 模式有点异曲同工，都是先通过自动检测和分析错误来定位问题，而不是让 AI 上来就瞎猜和乱改（可以阅读本教程编程工具板块「Cursor」目录中的《Cursor Debug 模式详解》）。

不过 `/diagnosing-bugs` 更偏向于流程规范，它用一套严格的分阶段方法来约束 AI 的调试行为。



## 六、teach AI 辅助学习

前面几个 Skill 都跟写代码有关，但这个仓库里还有一些通用的生产力工具，比如 `/teach` 技能，作用是让 AI 变成你的私人教师。

按照作者写 `/grill-me` 的尿性，我以为这个 Skill 也就几句话，结果它背后有一套相当完整的教学方法论。

当你运行 `/teach` 并告诉 AI 你想学什么之后，AI 会先问你为什么想学这个东西，然后把你的学习目标记录到一个叫 `MISSION.md` 的文件里。

![](https://pic.yupi.icu/1/image-20260721202928545.png)

接着它会去搜索高质量的学习资源，整理成 `RESOURCES.md` 资源文件。

![](https://pic.yupi.icu/1/image-20260721203009683.png)

最后基于收集到的资源给你设计课程，每堂课是一个精美的 HTML 文件，保存在 `lessons/` 目录下。

![](https://pic.yupi.icu/1/image-20260721203410326.png)

值得一提的是，AI 会区分「流畅度」和「存储强度」这两种学习效果。流畅度就是你当场能回忆起来的感觉，但这不代表你真的记住了，存储强度才是真正的长期记忆。所以它会刻意设计有一定难度的练习，用间隔重复和交错练习等方法来帮你加深记忆，而不是让你产生「我已经学会了」的错觉。

还有个很妙的设计是「最近发展区」，这是教育学里的经典理论。AI 会根据你之前的学习记录来判断你现在的水平，然后设计刚好超出你能力一点点的课程内容，不会太简单让你感到无聊，也不会太难让你放弃。

而且你的所有学习过程都保存在当前目录下，下次打开同一个目录继续学的时候，AI 就能接着上次的进度来。



## 七、wayfinder 大项目规划

这个 Skill 专门解决一个问题：当项目大到一个 AI 对话装不下的时候，该怎么办？

用过 AI 编程的同学应该都有感受，如果你强行在一个很长的对话里完成所有事情，AI 的思考质量会随着上下文变长而明显下降。Matt Pocock 把 AI 表现最好的上下文范围叫做「智能区间」，大概在 120K tokens 以内。

`/wayfinder` 的做法是把一个大需求拆成一张「决策地图」。当你面对一个大而模糊的需求时，AI 会先跟你一起把最终目标定义清楚，然后在 Issue 管理工具里创建一张地图，上面列出需要做的一系列决策，每个决策是一个独立的 Issue。

![](https://pic.yupi.icu/1/image-20260721204043039.png)

这些决策之间有依赖关系，所以它会自动标注哪些可以先做、哪些要等前置决策完成才能开始。每次你打开一个新的 AI 对话来处理一个决策的时候，上下文都是干净的，不会被之前的内容污染。

![](https://pic.yupi.icu/1/image-20260721204132899.png)

这里面还有一个很有趣的设计叫「战争迷雾」，就像游戏里没探索过的地图区域一样。你现在能看到的决策只是一部分，随着前面的决策逐步完成，后面的决策才会逐渐清晰起来。这样可以避免一开始就过度规划那些还想不清楚的事情。

![Wayfinder 战争迷雾决策地图](https://pic.yupi.icu/1/06_Wayfinder%E6%88%98%E4%BA%89%E8%BF%B7%E9%9B%BE%E5%86%B3%E7%AD%96%E5%9C%B0%E5%9B%BE_compressed_v1.png)

不过这个 Skill 的门槛相对比较高，更适合有一定工程经验的开发者。如果你的项目规模不大，前面提到的 `/grill-me` 就够用了。



## 八、其他实用技能

除了上面这些，还有两个我觉得很值得一提的。

1）`/improve-codebase-architecture` 代码架构改进

Matt Pocock 建议每隔几天就跑一次这个技能，相当于定期给代码做一次体检。它会深度扫描你的代码库，找出那些结构上可以优化的地方，然后生成一个可视化的 HTML 报告，用 Tailwind 美化样式、用 Mermaid 画架构图，每个优化建议都是一张卡片，写着涉及的文件、当前的问题、建议的改进方案。

![](https://pic.yupi.icu/1/image-20260721204942049.png)

这个 Skill 背后的核心理念来自《A Philosophy of Software Design》这本书。打个比方，一个好的模块就像微波炉，你只需要按几个按钮就能加热食物，内部的电磁波原理完全不用管，这种叫做「深」模块，接口简单、实现复杂。但如果一个模块用起来跟自己写一个差不多费劲，那就是「浅」模块了。这个 Skill 要找的就是代码库里那些浅模块，帮你把它们变成深模块。

![深模块和浅模块的区别](https://pic.yupi.icu/1/07_%E6%B7%B1%E6%A8%A1%E5%9D%97vs%E6%B5%85%E6%A8%A1%E5%9D%97%EF%BC%88%E5%BE%AE%E6%B3%A2%E7%82%89%E6%AF%94%E5%96%BB%EF%BC%89_compressed_v1.png)

2）`/handoff` 上下文交接

大家用 AI 编程的时候应该都遇到过这个问题：在一个对话里讨论了很多内容，积累了大量上下文，但是要开一个新对话的时候，之前的所有讨论就全丢了。虽然可以手动复制粘贴，但是比较麻烦，还容易遗漏关键信息。

`/handoff` 就是来解决这个问题的。在你当前对话结束前，它会让 AI 把整个对话的核心内容压缩成一份交接文档，保存成一个 Markdown 文件。下次开新对话的时候，只要让 AI 读一下这个文件，它就能接着上次的进度继续工作。

![](https://pic.yupi.icu/1/image-20260721205244844.png)

这个交接文档还会标注建议在新对话中使用哪些 Skill，并且会自动去除 API 密钥之类的敏感信息。



## 写在最后

学习完这个仓库后，我感受最深的一点是，这些 Skill 本质上不是提示词技巧，而是把经典的软件工程方法论封装成了 AI 能执行的格式。

像测试驱动开发、领域建模、架构评审，这些理念在软件工程领域已经存在了二十多年，但以前你得靠团队协作和代码评审来落地，现在通过 Skill 文件就能让 AI 自动按照这些方法来工作。

而且通过这个仓库，你会发现 AI 时代做开源从未如此简单。Matt Pocock 本质上就是把自己电脑里 `.agents` 目录下的工作方法分享了出来，然后持续迭代打磨，就成了十几万 Star 的项目。

也许你也可以把自己积累的 AI 编程工作流或提示词模板整理一下开源出来，持续优化，说不定也能帮到很多人。**行动才是第一生产力。**

如果你想了解更多同类的技能库，可以继续阅读本目录中的《Superpowers：核心技能库》，或者到本教程编程工具板块的《优质 AI 编程扩展推荐》里挑选适合自己的 Skills。
